<!doctype html>


<html>
<head>
  <link rel="shortcut icon" href="static/images/favicon.ico" type="image/x-icon">
  <title>WireV8 (Closure Library API Documentation - JavaScript)</title>
  <link rel="stylesheet" href="static/css/base.css">
  <link rel="stylesheet" href="static/css/doc.css">
  <link rel="stylesheet" href="static/css/sidetree.css">
  <link rel="stylesheet" href="static/css/prettify.css">

  <script>
     var _staticFilePath = "static/";
     var _typeTreeName = "goog";
     var _fileTreeName = "Source";
  </script>

  <script src="static/js/doc.js">
  </script>

  <script type="text/javascript" src="//www.google.com/jsapi"></script>
  <script type="text/javascript">
     google.load("visualization", "1", {packages:["orgchart"]});
     var _loadingVisualizations = true;
  </script>

  <meta charset="utf8">
</head>

<body onload="grokdoc.onLoad();">

<div id="header">
  <div class="g-section g-tpl-50-50 g-split">
    <div class="g-unit g-first">
      <a id="logo" href="index.html">Closure Library API Documentation</a>
    </div>

    <div class="g-unit">
      <div class="g-c">
        <strong>Go to class or file:</strong>
        <input type="text" id="ac">
      </div>
    </div>
  </div>
</div>





<div class="colmask rightmenu">
<div class="colleft">
    <div class="col1">
      <!-- Column 1 start -->

<div id="title">
        <span class="fn">labs.net.webChannel.WireV8</span>
        <span>Extends</span>
        <span class="fn-name">
          
        </span>
</div>

<div class="g-section g-tpl-75-25">
  <div class="g-unit g-first" id="description">
    The v8 codec class.


  </div>


        <div class="g-unit" id="useful-links">
          <div class="title">Useful links</div>
          <ol>
            <li><a href="local_closure_goog_labs_net_webchannel_wirev8.js.source.html"><span class='source-code-link'>Source Code</span></a></li>
            <li><a href="http://code.google.com/p/closure-library/source/browse/local/closure/goog/labs/net/webchannel/wirev8.js">Git</a></li>
          </ol>
        </div>
</div>






<h2 class="g-first">Inheritance</h2>
<div class='gviz-org-chart-container goog-inline-block'>
<table class='gviz-org-chart' style='display:none'>
  <tr><td>goog.labs.net.webChannel.WireV8</td><td></td></tr>
</table>
</div>
<div class='gviz-org-chart-container goog-inline-block'>
<table class='gviz-org-chart' style='display:none'>
</table>
</div>




  <h2>Constructor</h2>
      <div class="fn-constructor">
    goog.labs.net.webChannel.WireV8(<span></span>)
  </div>



<h2>Instance Methods</h2>


  <div class="legend">
        <span class="key publickey"></span><span>Public</span>
        <span class="key protectedkey"></span><span>Protected</span>
        <span class="key privatekey"></span><span>Private</span>
  </div>







<div>
       <div class="desc">
         Defined in
         <span class="fn-name">
            <a href="class_goog_labs_net_webChannel_WireV8.html">
              goog.labs.net.webChannel.WireV8
            </a>
         </span>
       </div>






<div class="section">
  <table class="horiz-rule">


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.labs.net.webChannel.WireV8.prototype.decodeMessage"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">decodeMessage<span class="args">(<span class="arg">messageText</span>)</span>
        </span>
        &#8658; <span class="type">*</span>
      </div>


     <div class="entryOverview">
       Decodes a standalone message received from the wire. May throw exception
if text is ill-formatted.

We use eval() to decode as the server may generate JS literals,
which don't necessarily comply with the JSON format, such as
double quota, null array element.

Over time we will phase out servers that don't generate JSON formatted
messages.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">messageText</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span>
        <div class="entryOverview">The string content as received from the wire.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">*</span>&nbsp;
            The decoded message object.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_labs_net_webchannel_wirev8.js.source.html#line133">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.labs.net.webChannel.WireV8.prototype.encodeMessage"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">encodeMessage<span class="args">(<span class="arg">message</span>,&nbsp;<span class="arg">buffer</span>,&nbsp;<span class="arg">opt_prefix</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Encodes a standalone message into the wire format.

May throw exception if the message object contains any invalid elements.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">message</span>
        : <span>!</span><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object">Object</a></span><span>&nbsp;|&nbsp;</span><span>!</span><span class="type"><a href="class_goog_structs_Map.html">goog.structs.Map</a></span>
        <div class="entryOverview">The message data.
    V8 only support JS objects (or Map).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">buffer</span>
        : <span>!</span><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span>&gt;
        <div class="entryOverview">The text buffer to write the message to.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_prefix</span>
        : <span class="type">string=</span>
        <div class="entryOverview">The prefix for each field of the object.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_labs_net_webchannel_wirev8.js.source.html#line64">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.labs.net.webChannel.WireV8.prototype.encodeMessageQueue"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">encodeMessageQueue<span class="args">(<span class="arg">messageQueue</span>,&nbsp;<span class="arg">count</span>,&nbsp;<span class="arg">badMapHandler</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Encodes all the buffered messages of the forward channel.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">messageQueue</span>
        : <span>!</span><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">Wire.QueuedMap</span>&gt;
        <div class="entryOverview">The message data.
    V8 only support JS objects.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">count</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The number of messages to be encoded.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">badMapHandler</span>
        : <span>?</span><span class="type">function(!Object</span>)
        <div class="entryOverview">Callback for bad messages.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_labs_net_webchannel_wirev8.js.source.html#line91">code &raquo;</a>
  </td>
     </tr>


  </table>
</div>
</div>




<h2>Instance Properties</h2>







<div>
       <div class="desc">
         Defined in
         <span class="fn-name">
            <a href="class_goog_labs_net_webChannel_WireV8.html">
              goog.labs.net.webChannel.WireV8
            </a>
         </span>
       </div>






<div class="section">
  <table class="horiz-rule">


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.labs.net.webChannel.WireV8.prototype.parser_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">parser_</span>
        : <span class="type"><a href="class_goog_json_EvalJsonProcessor.html">goog.json.EvalJsonProcessor</a></span>
     </div>


     <div class="entryOverview">
       Parser for a response payload. The parser should return an array.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_labs_net_webchannel_wirev8.js.source.html#line45">Code &raquo;</a>
  </td>
     </tr>


  </table>
</div>
</div>










<div class="section">
  <table class="horiz-rule">


  </table>
</div>









<div class="section">
  <table class="horiz-rule">


  </table>
</div>









<div class="section">
  <table class="horiz-rule">


  </table>
</div>
      <!-- Column 1 end -->
    </div>

        <div class="col2">
          <!-- Column 2 start -->
          <div class="col2-c">
            <h2 id="ref-head">Package labs.net.webChannel</h2>
            <div id="localView"></div>
          </div>

          <div class="col2-c">
            <h2 id="ref-head">Package Reference</h2>
            <div id="sideTypeIndex" rootPath="" current="labs.net.webChannel.WireV8"></div>
          </div>
          <!-- Column 2 end -->
        </div>
</div>
</div>

</body>
</html>
